package main

import (
	"fmt"
	"net"
	"strconv"
	"sync"
	"time"
)

var gw sync.WaitGroup

// func test() {
// 	// postMSG := `{
// 	// 	"name":"baim0",
// 	// 	"pwd": "123"
// 	// }`

// 	for i := 0; i < 10; i++ {
// 		http.Get("http://124.221.184.53/")
// 	}
// 	defer gw.Done()
// }
// func main() {

//		gw.Add(200)
//		for j := 0; j < 200; j++ {
//			go test()
//		}
//		gw.Wait()
//	}
func telnet(telnetIp string, i int) {
	conn, err := net.DialTimeout("tcp", telnetIp, time.Duration(3)*time.Second)
	if err == nil {
		fmt.Print(i)
		fmt.Println(" is open!")
	}
	if conn != nil {
		defer conn.Close()
	}

	gw.Done()
}
func main() {
	gw.Add(65535)
	for i := 1; i < 65536; i++ {
		// ip + 1-65535的端口
		telnetIp := "120.46.132.244" + ":" + strconv.Itoa(i)
		go telnet(telnetIp, i)
		time.Sleep(time.Nanosecond * 10)
	}
	gw.Wait()
}
